12#ifndef ROC_CORE_COND_H_
13#define ROC_CORE_COND_H_
29 : mutex_(mutex.mutex_) {
30 if (
int err = uv_cond_init(&cond_)) {
31 roc_panic(
"cond: uv_cond_init(): [%s] %s", uv_err_name(err),
37 uv_cond_destroy(&cond_);
42 uv_cond_wait(&cond_, &mutex_);
47 uv_cond_broadcast(&cond_);
51 mutable uv_cond_t cond_;
Cond(const Mutex &mutex)
Initialize.
void broadcast() const
Wake up all pending waits.
Base class for non-copyable objects.
#define roc_panic(...)
Print error message and terminate program gracefully.